package java学习.实习.LearnAnnotation;

import java.lang.reflect.Method;

/**
 * **************
 * 项目名称: 蓝桥杯 <br/>
 * 文件名称:  <br/>
 * 文件描述: 这里添加您的类文件描述，说明当前文件要包含的功能。 <br/>
 * 文件创建：刘世锦 <br/>
 * 创建时间: 2022/6/29 <br/>
 *
 * @version v1.0 <br/>
 * @update [序号][日期YYYY-MM-DD][更改人姓名][变更描述]<br/>
 * *************
 */
@testAnno(value = "anno")
public class test {
    @AnnoByMethod(value = "method")
    public String getValue(){
        return "";
    }
    public static void main(String[] args) throws NoSuchMethodException {
//        获取到 test的Class类
        Class<? extends test> aClass = test.class;
//        得到 其getValue方法
        Method method = aClass.getMethod("getValue");
//        得到注解类 testAnno
        System.out.println(method.isAnnotationPresent(AnnoByMethod.class));
        AnnoByMethod annotationByMethod = method.getAnnotation(AnnoByMethod.class);
        System.out.println("name-- "+annotationByMethod.name());
        System.out.println("value-- "+annotationByMethod.value());

        System.out.println(aClass.isAnnotation());
        System.out.println(aClass.isAnnotationPresent(testAnno.class));
        testAnno annotationByClass = aClass.getAnnotation(testAnno.class);
        System.out.println("name-- "+annotationByClass.name());
        System.out.println("value-- "+annotationByClass.value());
        try {

        }catch (Exception e){
            e.printStackTrace();
        }
    }

}
